Compiling for time-predictability with dual-issue single-path code
نویسندگان
چکیده
Designed for real-time systems, the Patmos instruction-set architecture’s features ensure a high degree of predictability. One such feature is its dual-issue pipeline, which can issue and execute bundles up to two instructions at time. Executing in second slot predictable way increase throughput processor, but without dedicated support from compiler, this benefit cannot be unlocked. A compiler generates highly programs by generating single-path code. This technique produces code that always follows same trace instructions. While Patmos’ already produce code, it does not assign any issue-slot. limitation unfortunate, as inherently possesses instruction-level parallelism. In paper, we present generation with pipelines. It also different bundling algorithms, allows changing algorithms having edit other parts compiler. We simple algorithm plugged into generator. looks branches basic blocks on each path branch. specific too provide real-world benefit, highlights potential further work unlock.
منابع مشابه
Compiling for Time Predictability
Within the T-CREST project we work on hardware/software architectures and code-generation strategies for time-predictable embedded and cyber-physical systems. In this paper we present the single-path code generation approach that we plan to explore and implement in a compiler prototype for a timepredictable processor. Single-path code generation produces code that forces every execution to foll...
متن کاملCompiling for template-based run-time code generation
Cyclone is a type-safe programming language that provides explicit run-time code generation. The Cyclone compiler uses a template-based strategy for run-time code generation in which pre-compiled code fragments are stitched together at run time. This strategy keeps the cost of code generation low, but it requires that optimizations, such as register allocation and code motion, are applied to te...
متن کاملCompiling for Runtime Code Generation
Cyclone is a programming language that provides explicit support for dynamic specialization based on runtime code generation. To generate specialized code quickly, our Cyclone compiler uses a template based strategy in which pre-compiled code fragments are stitched together at runtime. To achieve good performance, the pre-compiled fragments must be optimized. This paper describes a principled a...
متن کاملCompiling Path Queries
Measuring the flow of traffic along network paths is crucial for many management tasks, including traffic engineering, diagnosing congestion, and mitigating DDoS attacks. We introduce a declarative query language for efficient path-based traffic monitoring. Path queries are specified as regular expressions over predicates on packet locations and header values, with SQLlike “groupby” constructs ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Journal of Systems Architecture
سال: 2021
ISSN: ['1383-7621', '1873-6165']
DOI: https://doi.org/10.1016/j.sysarc.2021.102230